package com.dubbo.mapper;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

import java.util.Map;

/**
 * 订单进程表mapper
 * @author wujunyuan
 * @date 2018年12月18日  下午5:20:27
 */
public interface ProcessMapper extends Mapper<com.dubbo.domain.Process>{

	/**
	 * 获取订单进程数据
	 *
	 * @author lihongwu
	 * 2018年12月21日 下午2:53:53
	 * @param orderId
	 * @return
	 */
	@Select(" SELECT" + 
			"	*" + 
			" FROM" + 
			"	o_process op" + 
			" WHERE op.orderId = #{orderId}")
	Map<String,Object> getProcessByOrderId(@Param("orderId") String orderId);

	/**
	 * 根据订单id获取订单流程表信息
	 * @author wujunyuan
	 * @date 2018年12月25日  下午2:50:47
	 * @param orderId
	 * @return
	 */
	@Select("SELECT   " + 
			"	ops.id AS processId,   " + 
			"	ops.`status`,   " + 
			"	ops.isCancel,   " + 
			"	ops.isTrader,   " + 
			"	ops.isAgent,   " + 
			"	ops.isRefund,   " + 
			"	ops.isVender   " + 
			"FROM   " + 
			"	o_process ops   " + 
			"WHERE   " + 
			"	ops.orderId = #{orderId}")
	Map<String, Object> findProcessByOrderId(@Param("orderId") String orderId);

	/**
	 * 根据订单id获取订单现在时间离发货时间的天数
	 * @author wujunyuan
	 * @date 2019年1月5日  下午2:42:37
	 * @param orderId
	 * @return
	 */
	@Select("SELECT " + 
			"	DATEDIFF( " + 
			"		DATE_FORMAT(NOW(), '%Y-%m-%d'), " + 
			"		DATE_FORMAT(ops.postTime, '%Y-%m-%d') " + 
			"	) AS DAY " + 
			"FROM " + 
			"	o_process ops " + 
			"WHERE " + 
			"	ops.orderId = #{orderId}")
	String findSendTimeByOrderId(@Param("orderId") String orderId);

	/**
	 * 获取能不能申请售后
	 * @author wujunyuan
	 * @date 2019年1月5日  下午3:43:17
	 * @param orderId
	 * @return
	 */
	@Select("SELECT " + 
			"	ops.isRefund " + 
			"FROM " + 
			"	o_process ops " + 
			"WHERE " + 
			"	ops.orderId = #{orderId}")
	String findIsRefundByOrderId(@Param("orderId") String orderId);
}